package com.example.jobback.dto;

import com.example.jobback.common.enums.Edu;
import com.example.jobback.common.enums.VerifyPublishPositionStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @ClassName: PublishPositionDto
 * @Description: 发布岗位信息传输类，缓存在redis中
 * @Author: lhb
 * @Date: 2025/5/30
 */
@Data
public class PublishPositionDto {
    /**
     * @Description: 招聘者id
     * @Author lhb
     * @CreateTime 2025/5/30 19:50
     */
    private Long userId;

    /**
     * @Description: 公司id
     * @Author lhb
     * @CreateTime 2025/6/15 16:47
     */
    private Long companyId;


    /**
     * @Description: 岗位名称
     * @Author lhb
     * @CreateTime 2025/6/17 21:22
     */
    private String positionName;

    /**
     * @Description: 职位详细
     * @Author lhb
     * @CreateTime 2025/5/30 19:50
     */
    private String positionDetail;

    /**
     * @Description: 职位要求
     * @Author lhb
     * @CreateTime 2025/5/30 19:50
     */
    private String positionRequire;



    /**
     * @Description: 最低薪资
     * @Author lhb
     * @CreateTime 2025/6/24 10:19
     */
    private Long lowestSalaryMonth;


    /**
     * @Description: 最高薪资
     * @Author lhb
     * @CreateTime 2025/6/24 10:19
     */
    private Long highestSalaryMonth;


    /**
     * @Description: 岗位类别
     * @Author lhb
     * @CreateTime 2025/6/24 10:19
     */
    private String positionType;

    /**
     * @Description: 学历
     * @Author lhb
     * @CreateTime 2025/6/24 10:19
     */
    private Edu education;
    
    /**
     * @Description: 地址
     * @Author lhb
     * @CreateTime 2025/6/24 14:13
     */
    private String location;

    /**
     * @Description: 开始时间
     * @Author lhb
     * @CreateTime 2025/5/30 19:50
     */
    private LocalDateTime startAt;

    /**
     * @Description: 结束时间
     * @Author lhb
     * @CreateTime 2025/5/30 19:50
     */
    private LocalDateTime endAt;

    /**
     * @Description: 审核状态
     * @Author lhb
     * @CreateTime 2025/5/31 14:21
     */
    private VerifyPublishPositionStatus status;


    /**
     * @Description: 不合格信息提示
     * @Author lhb
     * @CreateTime 2025/5/31 15:36
     */
    private String failedMessage;
}
